#pragma once


typedef struct						// Create A Structure For Particle
{
	bool	active;					// Active (Yes/No)
	float	life;					// Particle Life
	float	fade;					// Fade Speed
	float	r;						// Red Value
	float	g;						// Green Value
	float	b;						// Blue Value
	float	x;						// X Position
	float	y;						// Y Position
	float	z;						// Z Position
	float	xi;						// X Direction
	float	yi;						// Y Direction
	float	zi;						// Z Direction
	float	xg;						// X Gravity
	float	yg;						// Y Gravity
	float	zg;						// Z Gravity
}
particles;							// Particles Structure


#define	MAX_PARTICLES	1000		// Number Of Particles To Create

class ParticleHolder
{
	particles particle[MAX_PARTICLES];	// Particle Array (Room For Particle Info)
	
public:
	bool available;
	int numParticles;
	float initX;
	float initY;
	float initZ;

	void Init();
	void Draw();
};


void InitializeParticleSystem();
void FinalizeParticleSystem();

void AllocParticleHolder(float x, float y, float dist);
void DrawParticles();